// 引入http模块
const http = require('http')

// 引入cheerio 分析网页数据
const cheerio = require('cheerio')

// 引入download 进行批量图片下载
const download = require('download')

const HOST = 'http://web.itheima.com/'

// 创建请求对象 —— 未发送请求
let req = http.request( HOST + 'teacher.html', res => {
  // 回调函数  ——  异步的相应

  let chunks = []
  // 监听data事件，获取传递过来的数据片段
  // 再拼接数据片段
  res.on('data', chunk => chunks.push(chunk))

  // 监听end事件，获取数据完毕时触发
  res.on('end', () => {
    // console.log(Buffer.concat(chunks).toString('utf-8') )  // 将内容用字符串方法拼接出来
    let htmlStr = Buffer.concat(chunks).toString('utf-8')
    const $ = cheerio.load(htmlStr)   // 整个传进去

    // let imgs = []     // imgs数组
    //
    // $('.tea_con .li_img > img').each((index, item) => {   // 遍历出来
    //   let img = HOST + $(item).attr('src')    // 拼接前面的服务器地址
    //   lmgs.push(img)
    // })

    // 通过一个伪数组变成另外一个数字 map()方法
    // 若url有中文时 encodeURI
    let imgs = Array.prototype.map.call($('.tea_con .li_img > img'), item => HOST + encodeURI($(item).attr('src')))
    // console.log(imgs);
    // let imgs = $('.tea_con .li_img > img').map((i , item) => HOST + encodeURI($(item).attr('src')))


    // download库的下载到本目录的dist文件夹下
    Promise.all(imgs.map(val => download(val, 'dist'))).then(() => {
        console.log('files downloaded!')
    });


  })
})

req.end()   // 将请求发送出去
